package com.he.observedmodel.subject;

import com.he.observedmodel.observed.Observed;

/**
 * 主题类，他把所有对观察者的引用保存在一个集合里，可以对这个集合进行添加和删除以及通知（遍历通知）
 * @param <T>
 */
public interface Subject<T> {

    void add(Observed observerd);

    void delete(Observed observerd);

    void notifyOberved();

    void updateState(T t);

    T getState();
}
